www.gusucode.com > puyuetian PHP 轻框架源码 v1.0PHP源码程序 > puyuetian PHP 轻框架源码 v1.0/puyuetianPHP_v1.0.20160316/puyuetianPHP_v1.0.20160316/puyuetian/class.php
<?php if (!defined('puyuetian')) exit('Not Found puyuetian!Please contact QQ632827168'); /******************************************** 数据库操作类 - 获取、修改、添加、删除表信息,必须为id为唯一索引 *******************************************/ class Data { public $id, $array, $query, $mysql_prefix, $table, $index; private $array_keys, $array_values; public function __construct($table, $prefix = true) { if ($prefix) { global $_G; //获取数据库表前缀 $this -> mysql_prefix = $_G['MYSQL']['PREFIX']; } else { $this -> mysql_prefix = ''; } $this -> table = $table; } public function getId($field, $str = NULL) { $sql = ""; if (is_array($field) && is_array($str)) { foreach ($field as $key => $value) { $sql .= "`{$field[$key]}`=" . mysqlstr($str[$key]) . " and "; } $sql = substr($sql, 0, strlen($sql) - 5); } elseif (is_array($field) && $str == NULL) { foreach ($field as $key => $value) { $sql .= "`{$key}`=" . mysqlstr($value) . " and "; } $sql = substr($sql, 0, strlen($sql) - 5); } else { $str = mysqlstr($str); $sql = "`$field`=$str"; } $query = mysql_query("select * from `{$this->mysql_prefix}{$this->table}` where {$sql}"); if ($query) { $array = mysql_fetch_assoc($query); return $array['id']; } else { return false; } } public function getNewId($sql = '') { if ($sql) $sql = ' ' . $sql; $query = mysql_query("select * from `{$this->mysql_prefix}{$this->table}`{$sql} order by `id` desc"); if ($query) { $array = mysql_fetch_assoc($query); return $array['id']; } else { return false; } } public function getOldId($sql = '') { if ($sql) $sql = ' ' . $sql; $query = mysql_query("select * from `{$this->mysql_prefix}{$this->table}`{$sql} order by `id`"); if ($query) { $array = mysql_fetch_assoc($query); return $array['id']; } else { return false; } } public function getData($id) { $query = mysql_query("select * from `{$this->mysql_prefix}{$this->table}` where `id`=$id"); if ($query) { $array = mysql_fetch_assoc($query); return $array; } else { return false; } } //pos开始指针位置,rnum读取记录条数,equery后续sql命令 public function getDatas($pos = 0, $rnum = 10, $equery = null) { $limit = " limit $pos,$rnum"; if (!$equery) $equery = ' ' . $equery; if (!$rnum) $limit = ""; $query = mysql_query("select * from `{$this -> mysql_prefix}{$this -> table}`{$equery}{$limit}"); if ($query) { $array = array(); $index = 0; while ($querya = mysql_fetch_assoc($query)) { $array[$index] = $querya; $index++; } return $array; } else { return false; } } public function getFullColumns() { $query = mysql_query("show full columns from `{$this -> mysql_prefix}{$this -> table}`"); if ($query) { $array = array(); $index = 0; while ($querya = mysql_fetch_assoc($query)) { $array[$index] = $querya; $index++; } return $array; } else { return false; } } public function getColumn($_field = '') { if ($_field == '') return FALSE; $_query = mysql_query("show full columns from `{$this -> mysql_prefix}{$this -> table}` where field='{$_field}'"); $_array = mysql_fetch_assoc($_query); return $_array; } public function getCount($zd = null, $id = null) { if ($zd == null && $id == null) { $sql = ""; } elseif (is_array($zd) && is_array($id)) { $sql = " where "; foreach ($zd as $key => $value) { $sql .= "`{$zd[$key]}`=" . mysqlstr($id[$key]) . " and "; } $sql = substr($sql, 0, strlen($sql) - 5); } elseif (is_array($zd) && !is_array($id)) { $sql = " where "; foreach ($zd as $key => $value) { $sql .= "`{$key}`=" . mysqlstr($value) . " and "; } $sql = substr($sql, 0, strlen($sql) - 5); } else { $sql = " where `$zd`={$id}"; } $query = mysql_query("select * from `{$this->mysql_prefix}{$this->table}`{$sql}"); return mysql_num_rows($query); } public function getField() { $query = mysql_query("show columns from `{$this->mysql_prefix}{$this->table}`"); while ($querya = mysql_fetch_assoc($query)) { $array .= ",{$querya['Field']}"; } $array = substr($array, 1); $array = explode(',', $array); return $array; } public function newData(array $array) { //获取表字段名 $array_keys = array_keys($array); //print_r($array_keys); //获取对应字段的值 $array_values = array_values($array); //print_r($array_values); if (array_key_exists('id', $array)) { $id = Cnum($array['id']); } else { $id = 0; } if ($id) { //表信息更新 $query = "update `{$this->mysql_prefix}{$this->table}` set "; for ($i = 0; $i < count($array_keys); $i++) { $query .= '`' . $array_keys[$i] . '`=' . mysqlstr($array_values[$i]) . ','; } $query = substr($query, 0, strlen($query) - 1); $query .= " where `id`=$id"; } else { //表添加新信息 $idkey = null; $query = "insert into `{$this->mysql_prefix}{$this->table}` ("; foreach ($array_keys as $key => $value) { if ($value == 'id') { $idkey = $key; } else { $query .= "`$value`,"; } } $query = substr($query, 0, strlen($query) - 1); $query .= ') values ('; foreach ($array_values as $key => $value) { if ($key !== $idkey) { $query .= mysqlstr($value) . ','; } } $query = substr($query, 0, strlen($query) - 1); $query .= ')'; } //echo $query . '<br>'; $mysql_r = mysql_query($query); return $mysql_r; } public function delData($id, $type = false) { if ($type) { $array['id'] = $id; $array['del'] = 1; $mysql_r = $this -> newData($array); } else { $query = "delete from `{$this->mysql_prefix}{$this->table}` where `id`=$id"; $mysql_r = mysql_query($query); } return $mysql_r; } public function delDatas($ids, $type = false) { if ($type) { foreach ($ids as $id) { $array['id'] = $id; $array['del'] = 0; $this -> newData($array); } } else { foreach ($ids as $id) { $query = "delete from `{$this->mysql_prefix}{$this->table}` where `id`=$id"; $mysql_r = mysql_query($query); } } return $mysql_r; } }